package com.hanzidong.cms.service;

import com.github.pagehelper.PageInfo;
import com.hanzidong.cms.entity.Article;
import com.hanzidong.cms.entity.User;

public interface ArticleService {

	/**
	 * 添加文章数据到数据库
	 * @param article
	 * @return
	 */
	boolean add(Article article);

	/**
	 * 查询指定用户发布的所有文章
	 * @param pageSize 
	 * @param pageNum 
	 * @param user
	 * @return
	 */
	PageInfo<Article> articles(Integer pageNum, Integer pageSize, User user);

	/**
	 * 根据文章id，获取文章的数据
	 * @param id
	 * @return
	 */
	Article getArticleById(Integer id);

	/**
	 * 根据查询出来的条件，获取文章数据
	 * @param pageNum
	 * @param pageSize
	 * @param article
	 * @return
	 */
	PageInfo<Article> list(Integer pageNum, Integer pageSize, Article article);

	/**
	 * 根据id修改文章的热门和状态
	 * @param article
	 * @return
	 */
	boolean updateArticle(Article article);

	/**
	 * 根据点击量排序，获取文章数据
	 * @param pageNum
	 * @param pageSize
	 * @param article
	 * @return
	 */
	PageInfo<Article> listByHit(Integer pageNum, Integer pageSize, Article article);

}
